package cn.yuanqiao.archive.appManager.service;


import cn.yuanqiao.archive.appManager.domain.TenantCategory;
import cn.yuanqiao.archive.appManager.domain.TenantMdataGroup;
import cn.yuanqiao.common.core.domain.TreeSelect;

import java.util.List;

/**
 * 业务档案门类Service接口
 *
 * @author yuanqiao
 * @date 2023-06-14
 */
public interface ITenantCategoryService
{
    /**
     * 查询业务档案门类
     *
     * @param ID 业务档案门类主键
     * @return 业务档案门类
     */
    public TenantCategory selectTenanCategoryByID(Long ID);

    TenantMdataGroup isBindGroup(Long ID);

    /**
     * 查询业务档案门类列表
     *
     * @param tenantCategory 业务档案门类
     * @return 业务档案门类集合
     */
    public List<TenantCategory> selectTenantCategoryList(TenantCategory tenantCategory);

    /**
     * 新增业务档案门类
     *
     * @param tenantCategory 业务档案门类
     * @return 结果
     */
    public int insertTenantCategory(TenantCategory tenantCategory);

    /**
     * 修改业务档案门类
     *
     * @param tenantCategory 业务档案门类
     * @return 结果
     */
    public int updateTenantCategory(TenantCategory tenantCategory);
    /**
     * 删除manage信息
     *
     * @param IDs manage主键
     * @return 结果
     */
    public int deleteYqdacategoryModelByIDs(Long[] IDs);

    List<TreeSelect>  selectmatemodelTreeList(TenantCategory yqdacategorymodel);

    List<TreeSelect>  selectTreeList(TenantCategory yqdacategorymodel);


    List<TenantMdataGroup> getNoUseGroups();

    int bindgroup(Long id, Long groupid, Integer wjcls, Integer ajcls, Integer xmcls,Integer type);

    List<TenantCategory> getcatebyfondsid(Long fondsid);

    List<TreeSelect> getcatemodeltreeUse();

    public List<TenantCategory> listnopagehasgroup(TenantCategory tenantCategory);

    List<TenantCategory> listnopagehasgrouphaspro(Long menuId, Long type);

    void clearTenant(String tenantcode);
    /**
     * 租户下的门类个数
     * @param tenantCode
     * @return
     */
    //int getNumberByTenantCode(String tenantCode);

}
